@menu-color: #050138;
@transition: cubic-bezier(.645, .045, .355, 1);

.pro-manager-home {
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  position: relative;
  background-color: #f0f2f5;

  .pro-manager-menu,
  .pro-manager-head,
  .pro-manager-content {
    position: absolute;
  }

  &:not(.pro-manager-home-mounted) {
    .pro-manager-menu {
      transform: translateX(-100%);
    }

    .pro-manager-head {
      transform: translateY(-100%);
    }

    .pro-manager-content {
      opacity: 0;
    }
  }

  .pro-manager-menu {
    left: 0;
    top: 0;
    bottom: 0;
    background-color: @menu-color;
    user-select: none;
    transition: 300ms @transition;
    transition-property: transform, width;

    .pro-manager-menu-head {
      font-size: 16px;
      letter-spacing: 1px;
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 50px;
      height: 50px;
      font-weight: 600;
      background-image: linear-gradient(135deg, #BD0272, #247DDC);
      -webkit-background-clip: text;
      color: transparent;
      position: relative;

      &::after {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2px;
        content: '';
        background: linear-gradient(130deg, rgb(36, 125, 220), rgb(62, 39, 180) 41.07%, rgb(189, 2, 114) 76.05%);
      }
    }

    .pro-manager-menu-body {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      color: rgba(white, 0.65);

      .pl-loading-mask {
        background-color: rgba(255, 255, 255, 0.15) !important;
      }

      .pro-manager-menu-group-list {
        padding: 8px 0 300px 0;
      }

      .pro-manager-menu-group {

        .pro-manager-menu-group-name {
          text-overflow: ellipsis;
          overflow: hidden;
          white-space: nowrap;
          font-size: 14px;
          box-sizing: border-box;
          padding: 12px 8px 12px 16px;
          display: flex;
          justify-content: flex-start;
          align-items: center;
          cursor: pointer;

          .pro-menu-placeholder {
            flex: 1 1 auto;
          }

          .pl-icon {
            margin-right: 8px;
            transition: transform 300ms @transition;

            &:last-child {
              color: white;
            }
          }
        }

        .pro-manager-menu-list {
          background-color: mix(white, @menu-color, 10%);
          transition: background .3s @transition, height .3s @transition;

          &:before, &:after {
            height: 4px;
            content: '';
            display: block;
          }
        }

        .pro-manager-menu-item {
          font-size: 13px;
          padding: 10px 40px;
          text-overflow: ellipsis;
          overflow: hidden;
          white-space: nowrap;

          &:hover {
            cursor: pointer;
            text-decoration: underline;
            color: white;
          }
        }

        &.pro-manager-menu-group-show {
          .pro-manager-menu-group-name {
            .pl-icon:last-child {
              transform: rotateX(180deg);
            }
          }
        }
      }
    }
  }

  .pro-manager-head {
    top: 0;
    right: 0;
    background-color: white;
    box-shadow: 0 1px 4px rgba(0, 21, 41, .08);
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 0 8px;
    transition: 300ms @transition;
    transition-property: transform, left;

    .pro-manager-crumbs {
      font-size: 14px;
      color: rgba(black, 0.45);

      .pl-icon {
        margin: 0 4px;
      }
    }

    .pro-manager-head-search-input {
      .pl-input-inner {
        border-left: none;
        border-right: none;
        border-top: none;
        border-radius: 0;
        outline: none;
        padding: 0 !important;
        box-shadow: none !important;
        font-size: 14px !important;
        height: 20px !important;
      }
    }

    .pro-manager-head-placeholder {
      flex: 1 1;
    }

    .pro-manager-bell-badge {
      .pl-badge-content {
        right: 8px;
        top: 8px;
      }
    }

    .pro-manager-head-user-info {
      display: flex;
      align-items: center;
      padding: 0 8px;
      margin: 0 8px;
      height: 100%;
      transition: background-color 300ms @transition;
      cursor: pointer;
      font-size: 13px;

      &:hover {
        background-color: #f2f2f2;
      }

      img {
        height: 28px;
        width: 28px;
        margin-right: 8px;
      }

      & > div {
        display: flex;
        flex-direction: column;
        align-items: flex-start;

        & > span:nth-child(2) {
          font-size: 12px;
          opacity: 0.45;
        }
      }
    }
  }

  .pro-manager-content {
    bottom: 0;
    right: 0;
    transition: 300ms @transition;
    transition-property: opacity, left;
    z-index: 1;
  }

  &.pro-manager-home-collapse-menu {
    .pro-manager-menu {
      width: 60px !important;

      .pro-manager-menu-group-name {
        & > *:not(:first-child) {
          display: none;
        }
      }

      .pro-manager-menu-list {
        display: none;
      }
    }

    .pro-manager-head {
      left: 60px !important;
    }

    .pro-manager-content {
      left: 60px !important;
    }
  }

  .pro-page-title {
    font-size: 20px;
    padding: 10px 20px;
    font-weight: bold;
    border-top: solid 1px #f1f2f3;
  }
}
